Позволяет сторонним сервисам использовать сервер от нашего имени. Пример - У нас есть сервис поздравлений с днём рождения (Др). Он может отправлять друзьям письма с помощью сервера телеграмма. Но для этого ему надо войти в наш тг. Чтобы не доверять логин и пароль от тг сервису Др, мы используем OAuth 2.0 Как это работает:
Др один раз регистрирует себя как приложение в тг и теперь является доверенным для тг. Получает client_id и secret_id
Мы нажимаем на сервисе Др кнопку Войти с тг. и он нас перекидывает на страницу тг с GET параметрами: client_id - чтоб тг понимал, какому приложению выдаются наши полномочия, scope - какие права хочет получить приложение Др (messages, profile, friends)
После подтверждения тг перекидывает нас обратно на сайт с GET параметром auth_code - по нему приложение сможет запросить у сервера тг access_token для работы от нашего имени.
Далее само приложение через свои сервера отправляет POST запрос телеграмму: auth_code, client_id, client_secret, token_type=access_token.
Телеграм сверяет все данные и на основе auth_code выдаёт access_token для работы от имени пользователя.
Теперь др может слать сообщения от нашего имени в тг
_Курс OAuth 2.0 + OIDC